/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package desarrollo.miruta.servicios;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 * Permite la conexion con la base de datos y administra el area de trabajo de la aplicacion
 * @author alext
 */
public class ConectorBaseDeDatos {
    private EntityManagerFactory emf = null;
    private EntityManager em = null;
    
    /**
     * @param nombreUnidadPersistencia nombre de la unidad de persistencia con la que se hara
     * la conexion con la base de datos
     */
    public ConectorBaseDeDatos(String nombreUnidadPersistencia){
        emf = Persistence.createEntityManagerFactory(nombreUnidadPersistencia);
    }
   
    /**
     * @return una unica instancia del entityManager que sera utilizado por toda
     * el sistema para administrar las entidades
     */
    public EntityManager getEntityManager(){
        if(em == null)
            em = emf.createEntityManager();
        return em;
    }
    
    /**
     * Cierra el entityManager
     */
    public void cerrarEntityManager(){
        em.close();
    }
}
